// #ifndef __tenacitas_log__text_file_merger__h__
// #define __tenacitas_log__text_file_merger__h__



// /** @file In this file is implemented the @p text_file_merger class */


// /** @todo */

// // ==> C++ Headers
// #include <string>
// #include <cstdint>
// #include <memory>

// // ==> 3rds Headers
// #include <boost/thread.hpp>
// #include <boost/date_time/posix_time/posix_time.hpp>

// // ==> Our Headers

// // ==> Namespaces
// using namespace std;

// // ==> Macro Constants

// // ==> Macro Commands


// /** ==> namespace of the organization */
// namespace tenacitas {
//     /** ==> namespace for the project */
//     namespace log {

//         // ==> Typedefs 

//         // ==> Pre-Declarations

//         // ==> Attributes 

//         // ==> Functions
        
//         // ==> Classes

//         /** Merges text log files
//             @nosubgrouping 
//         */
//         class text_file_merger {

//         public:

//             // ==> text_file_merger - Public Internal Types

//             /** */
//             typedef std::shared_ptr<dummy_file_merger> ptr;

//             // ==> text_file_merger - Public Constructors

//             /** */
//             text_file_merger( const text_file_merger & ) = delete;

//             /** */
//             text_file_merger( text_file_merger && ) = delete;

//             /** 

//              @param p_miliseconds defiens the interval between the merges
//             */
//             static void config( uint32_t p_miliseconds );

//             /** */
//             inline static ptr create( const std::string & p_directory,
//                                       const std::string & p_file_extension );

//             /** Destructor */
//             ~text_file_merger( );

//             // ==> text_file_merger - Public Accessors

//             // ==> text_file_merger - Public Helpers

//             // ==> text_file_merger - Public Processors

//             /** */ 
//             void finished( const std::string & p_file_name ) {}

//             /** */
//             void start( );            

//             /** */
//             inline void stop( );
            

//             // ==> text_file_merger - Public Operators

//             /** */
//             text_file_merger & operator = ( const text_file_merger & ) = delete;

//             /** */
//             text_file_merger & operator = ( text_file_merger && ) = delete;

//             // ==> text_file_merger - Public Attributes

//         private:

//             // ==> text_file_merger - Private Internal Types

//             // ==> text_file_merger - Private Constructors

//             /** */
//             inline text_file_merger( const std::string & p_directory,
//                                      const std::string & p_file_extension );

//             // ==> text_file_merger - Private Accessors

//             // ==> text_file_merger - Private Helpers

//             // ==> text_file_merger - Private Processors

//             // ==> text_file_merger - Private Operators

//             // ==> text_file_merger - Private Attributes

//             /** */
//             static uint32_t m_miliseconds;

//             /** */
//             const std::string m_directory;

//             /** */
//             const std::string m_file_extension;

//             /** */
//             bool m_stop;            
            
//         };
//     }
// }

// // =============================================================================
// // I M P L E M E N T A T I O N
// // =============================================================================

// using namespace tenacitas::log;

// // -----------------------------------------------------------------------------
// void
// text_file_merger::
// config( uint32_t p_miliseconds ) { m_miliseconds = p_miliseconds; }

// // -----------------------------------------------------------------------------
// text_file_merger::ptr
// text_file_merger::
// create( const std::string & p_directory,
//         const std::string & p_file_extension ) {
//     return ptr( new text_file_merger( ) ) ;
// }


// // -----------------------------------------------------------------------------
// text_file_merger::
// text_file_merger( const std::string & p_directory,
//                   const std::string & p_file_extension )
//     : m_directory( p_directory ),
//       m_file_extension( p_file_extension ) {}


// // -----------------------------------------------------------------------------
// void
// text_file_merger::
// stop( ) {m_stop = true;}


// #endif
 // end 
